# encoding: utf-8
from pyecharts import options as opts  # 导入模块
from pyecharts.charts import Map  # 导入模块


def getMap(provinces, provinces_rsquared):
    mydata1 = []
    mydata2 = []
    mydata3 = []
    mydata4 = []
    mydata5 = []
    mydata6 = []
    mydatas = [mydata1, mydata2, mydata3, mydata4, mydata5, mydata6]
    for i in range(31):
        for j in range(6):
            mydatas[j].append([provinces[i], provinces_rsquared[i][j]])

    customMap = (
        Map(init_opts=opts.InitOpts(width='1900px', height='800px'))
            .add("地方财政科技支出对规模以上工业企业R&D人员全时当量的影响",  # 图例
                 mydatas[0],  # 数据项
                 "china",  # 地图
                 )
            .add("地方财政科技支出对规模以上工业企业R&D项目数的影响",  # 图例
                 mydatas[1],  # 数据项
                 "china"  # 地图
                 )
            .add("地方财政科技支出对规模以上工业企业新产品项目数的影响",  # 图例
                 mydatas[2],  # 数据项
                 "china"  # 地图
                 )
            .add("地方财政科技支出对规模以上工业企业专利申请数的影响",  # 图例
                 mydatas[3],  # 数据项
                 "china"  # 地图

                 )
            .add("地方财政科技支出对国内专利申请受理量的影响",  # 图例
                 mydatas[4],  # 数据项
                 "china"  # 地图
                 )
            .add("地方财政科技支出对国内专利申请授权量的影响",  # 图例
                 mydatas[5],  # 数据项
                 "china"  # 地图
                 )

            # 设置系列配置项
            .set_series_opts(
            label_opts=opts.LabelOpts(  # 设置标签配置项
                is_show=True,  # 设置不显示Label
                font_size=15
            )
        )
            # 设置全局项
            .set_global_opts(
            title_opts=opts.TitleOpts(  # 设置标题配置项
                title="政府财政支出对科技创新能力的影响",  # 设置标题名称
                pos_left="center"  # 设置标题居中
            ),

            # 设置图例配置项
            legend_opts=opts.LegendOpts(
                pos_right="right",  # 设置为水平居左
                pos_bottom="bottom"  # 设置为垂直居下
            ),

            # 设置视觉映射配置项
            visualmap_opts=opts.VisualMapOpts(
                is_piecewise=True,  # 设置为分段
                pieces=[  # 自定义分段名称和颜色
                    {"min": 0, "max": 0.2, "label": "0-0.2", "color": "#42A5F5"},
                    {"min": 0.2, "max": 0.5, "label": "0.2-0.5", "color": "#2196F3"},
                    {"min": 0.5, "max": 0.8, "label": "0.5-0.8", "color": "#0D47A1"},
                    {"min": 0.8, "max": 1, "label": "0.8-1", "color": "#0A2B6E"},
                ],
                textstyle_opts=opts.TextStyleOpts(font_size=30)
            )
        )
    )

    customMap.render("map1.html")  # 生成名为demo11的本地html文件
